package com.ymatou.iapi.refund.parameter;

import java.util.EnumSet;

public enum RefundStatusEnum {

	 /**
     * 已撤销，未审核通过时撤销，或者确认收货自动撤销（最终状态）
     */
    Canceled(0, "已撤消"),
    /**
     * 刚创建待审核，初始状态
     */
    Init(1, "买家发起"),
    /**
     * 买手拒绝申请
     */
    SellerRefused(2, "买手拒绝申请"),
    /**
     * 洋管家介入受理
     */
    YmtHandled(3, "洋管家介入受理"),
    /**
     * 洋管家审核拒绝（最终状态：退单失败）
     */
    YmtRefused(4, "洋管家审核拒绝"),

    /**
     * 申请审核通过
     */
    Passed(11, "审核通过"),

    /**
     * 买家已发货
     */
    BuyerSended(12, "买家已发货"),
    /**
     * 退单成功（最终状态）
     */
    Successed(20, "退货退款完成"),
    /**
     * 退货拒收（最终状态：退单失败）
     */
    GoodsRefused(21, "退货拒收"),

    /**
     * 退款中
     */
    Refunding(22, "退款中"),

    /**
     * 退单关闭(最终状态)
     */
    Closed(99, "退单关闭"),;

    private int code;
    private String message;

    public int getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }

    private RefundStatusEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public static RefundStatusEnum codeOf(Integer code) {
        if (code == null) {
            return null;
        }
        for (RefundStatusEnum refundStatusEnum : RefundStatusEnum.values()) {
            if (refundStatusEnum.getCode() == code.intValue()) {
                return refundStatusEnum;
            }
        }

        return null;
    }

}
